package com.yc.system.service;

import com.yc.common.core.domain.entity.SysMenu;
import com.yc.system.domain.vo.RouterVo;

import java.util.List;
import java.util.Set;

public interface ISysMenuService {

    /**
     * 根据角色ID查询菜单列表
     *
     * @param roleId 用户ID
     * @return 菜单列表
     */
    List<SysMenu> selectMenusByRoleId(Long roleId);

    /**
     * 构建前端路由所需要的菜单
     *
     * @param menus 菜单列表
     * @return 路由列表
     */
    List<RouterVo> buildRouters(List<SysMenu> menus);

    /**
     * 获取用户菜单列表（包含路由信息）
     *
     * @param userId 用户ID
     * @return 路由列表
     */
    List<RouterVo> getUserMenuList(Long userId);
}
